﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Common;
using DataLayer;

namespace BusinessLayer
{
    public static class BizBeneficiario
    {
        public static dsBoleto.BeneficiarioDataTable getBeneficiarios(string razonSocial, int idRubro, int idPostnet, string calle, int numero, int piso, string depto, int habilitado)
        {
            return DatBeneficiario.getBeneficiariosByFilter(razonSocial, idRubro, idPostnet, calle, numero, piso, depto, habilitado);
        }

        public static bool removeBeneficiario(int idBeneficiario, int estado)
        {
            return DatBeneficiario.updateBeneficiario(idBeneficiario, estado);
        }

        public static bool createNewBeneficiario(string razonSocial, int idRubro, string calle, int numero, int piso, string depto, List<int> listPostnets)
        {
            int idBeneficiario = DatBeneficiario.createBeneficiario(razonSocial, idRubro, calle, numero, piso, depto);
            return DatPostnetBeneficiario.setBeneficiarioPostnet(idBeneficiario, listPostnets);
        }

        public static bool updateBeneficiario(int idBeneficiario, string razonSocial, int idRubro, string calle, int numero, int piso, string depto, List<int> listPostnets)
        {
            bool updatedPostBenef = false;
            bool updatedBenef = DatBeneficiario.updateBeneficiario(idBeneficiario, razonSocial, idRubro, calle, numero, piso, depto);
            if (updatedBenef)
            {
                updatedPostBenef = DatPostnetBeneficiario.updateBeneficiario(idBeneficiario, listPostnets);
            }

            if (updatedPostBenef && updatedBenef)
                return true;
            else
                return false;
        }

        public static bool existRazonSocial(string razonSocial)
        {
            dsBoleto.BeneficiarioDataTable result = DatBeneficiario.getBeneficiariosByRazonSocial(razonSocial);
            if (result.Count == 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }

        public static dsBoleto.BeneficiarioDataTable getBeneficiarios()
        {
            return DatBeneficiario.getBeneficiarios();
        }
    }
}
